Generating log-likelihood values in a maximum a posteriori processor

ABSTRACT

A maximum a posteriori (MAP) detector/decoder employs an algorithm that computes log-likelihood value with an a posteriori probability (APP) value employing a number N of previous state sequences greater than or equal to two (N≧2). By defining the APP with more previous state sequences, the set of α values may be calculated for a current state and then reduced. After generating the reduced set of α values, the full set of β values may be generated for calculation of log-likelihood values. By calculating a set of α values that may be decimated by, for example, N, the amount of memory required to store the α values used in subsequent computations is reduced.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to generating, storing, andupdating log-likelihood values when processing encoded data with amaximum a posteriori (MAP) algorithm.

[0003] 2. Description of the Related Art

[0004] MAP decoding algorithms are employed for processing data input toa processor for detection and/or decoding operations. The algorithmprovides a maximum a posteriori estimate of a state sequence of afinite-state, discrete-time Markov process observed in noise. The MAPalgorithm forms a trellis corresponding to possible states (portion ofreceived symbol bits in the sequence) for each received output channelsymbol per unit increment in time (i.e., clock cycle).

[0005] States, and transitions between states, of the Markov processspanning an interval of time may be represented by a trellis diagram.The number of bits that a state represents is equivalent to the memoryof the Markov process. Thus, probabilities (sometimes of the form oflog-likelihood values) are associated with each transition within thetrellis, and probabilities are also associated with each decision for asymbol bit in the sequence.

[0006] The processor using the MAP algorithm computes log-likelihoodvalues using α (forward state probabilities for states in the trellis)and β values (reverse state probabilities in the trellis), as describedsubsequently. The α values (a vector) are associated with states withinthe trellis, and these α values are stored in memory. The processorusing the MAP algorithm then computes values of β, and the α values arethen retrieved from memory to compute the final output log-likelihoodvalues. To compute the log-likelihood values, the entire state metricarray of α values is stored by the MAP algorithm.

[0007] The variable S_(k) is defined as the state of the Markov processat time k, and y_(k) is defined as the noisy channel output sample attime k, y_(m) ^(n) is defined as the sequence y_(m) ^(n)=(y_(m),y_(m+1),. . . y_(n)) and, for a data block of length K, probability functionsmay be defined for the Markov process as given in equations (1) through(3):

α_(s) ^(k) =p(S _(k) =s; y ₁ ^(k))  (1)

β_(s) ^(k) =p(y _(k+1) ^(K) |S _(k) =s)  (2)

γ_(s′,s) =p(S _(k) =s; y _(k) |S _(k−1) =s′).  (3)

[0008] where s is the sequence defining the state S_(k) of the Markovprocess at time k.

[0009] In prior art decoders, calculation of the probability associatedwith a decision generally employs knowledge of a previous state S_(k−1)sequence s′ at time k−1 (complete state decisions and associatedprobabilities) of the decoder and the current state at time k. Thus, thealgorithm computes the a posteriori probability (APP) valueσ^(k)(s′,s)=p(S_(k−1)=s′; S_(k)=s|y₁ ^(K)) using the probabilitiesdefined in equations (1) through (3). The APP value is then as given inequation (4):

σ^(k)(s′,s)=α_(s′) ^(k−1)γ_(s′) ^(k)β_(s) ^(k)  (4)

[0010] With the APP value for input u_(k), the log-likelihood value maythen be calculated as given in equation (5): $\begin{matrix}{{L\left( u_{k} \right)} = {{\log \left( \frac{p\left( {u_{k} = \left. {+ 1} \middle| y_{1}^{K} \right.} \right)}{p\left( {u_{k} = \left. {- 1} \middle| y_{1}^{K} \right.} \right)} \right)}.}} & (5)\end{matrix}$

SUMMARY OF THE INVENTION

[0011] In accordance with embodiments of the present invention, amaximum a posteriori (MAP) processor employs an algorithm that computeslog-likelihood value with an a posteriori probability (APP) valueemploying a number N of previous state sequences greater than or equalto two (N≧2). The set of α values may be calculated for a current stateand then reduced in accordance with an APP value based on previous statesequences. After forming the reduced set of α values, the full set of βvalues may be subsequently generated for calculation of log-likelihoodvalues. By calculating a set of α values that may be decimated by, forexample, N, the amount of memory required for to store the α values usedin subsequent computations is reduced.

[0012] In accordance with an exemplary embodiment of the presentinvention, log-likelihood values are generated for data in a processorby a) generating a set of α values for a current state; and b) deletingselected values of the set of α values based on an a posterioriprobability (APP) value having at least two previous states (N≧2) toprovide a reduced set of α values corresponding to the data. Theexemplary embodiment of the present invention further c) generates a setof β values for the current state; and d) calculates the log-likelihoodvalues from the reduced set of α values and the set of β values.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Other aspects, features, and advantages of the present inventionwill become more fully apparent from the following detailed description,the appended claims, and the accompanying drawings in which:

[0014]FIG. 1 shows an exemplary method for generating log-likelihoodvalues in accordance with the present invention;

[0015]FIG. 2 shows an 8-state trellis used to illustrate generation oflog-likelihood values in accordance with the exemplary method of FIG. 1;

[0016]FIG. 3 shows a processor that may employ the exemplary methodshown in FIG. 1.

DETAILED DESCRIPTION

[0017] In accordance with embodiments of the present invention, amaximum a posteriori (MAP) processor employs an algorithm that acomputes log-likelihood value with an a posteriori probability (APP)value spanning a number N of previous states greater than or equal totwo (N>2). By defining the APP spanning greater than two time intervals,the set of α values may be calculated and then reduced. After thereduced set of α values is calculated, the full set of β values may begenerated for calculation of log-likelihood values. By calculating a setof α values that may be decimated by a factor of N, the amount of memoryrequired to store the α values used in subsequent computations isreduced. While the present invention is described for a MAP algorithmgenerated for turbo codes using the current and two previous states, oneskilled in the art may readily extend the teachings herein to maximum aposteriori algorithms derived for other types of codes and for a greaternumber of previous states.

[0018] A MAP decoding algorithm computes the a posteriori probability(APP) value for a Markov process state variable S_(k), a sequence y_(m)^(n) defined as the sequence y_(m) ^(n)=(y_(m),y_(m+1), . . . y_(n)),and data block of length K using the probabilities defined in equations(1) through (3). With the APP value, the log-likelihood value for inputu_(k) may be defined as given in equation (5). Equations (1)-(3) and (5)are repeated below for convenience:

α_(s) ^(k) =p(S _(k) =s; y ₁ ^(k))  (1)

β_(s) ^(k) =p(y _(k+1) ^(K) |S _(k) =s)  (2)

γ_(s′,S) =p(S _(k) =s; y _(k) |S _(k−1) =s′).  (3)

[0019] $\begin{matrix}{{L\left( u_{k} \right)} = {{\log \left( \frac{p\left( {u_{k} = \left. {+ 1} \middle| y_{1}^{K} \right.} \right)}{p\left( {u_{k} = \left. {- 1} \middle| y_{1}^{K} \right.} \right)} \right)}.}} & (5)\end{matrix}$

[0020] In accordance with an exemplary embodiment of the presentinvention, a MAP decoding algorithm calculates an a posterioriprobability (APP) value σ^(k) based on a current state s at time k aswell as the two previous state sequences s′ and s″ at time k−1 and k−2,respectively. The MAP decoding algorithm calculates the APP valueσ^(k)(s″,s′,s) as the probability p(S_(k−2)=s″; S_(k−1)=s′; S_(k)=s;y₁^(k)). Using the chain rule, it is straightforward to show the followingrelationship for the APP value α^(k)(s″,s′,s) as given in equation (6):$\begin{matrix}{{\sigma^{k}\left( {s^{''},s^{\prime},s} \right)} = {{{p\left( {{S_{k - 2} = s^{''}};y_{1}^{k - 2}} \right)} \cdot \frac{p\left( {{S_{k - 2} = s^{''}};{S_{k - 1} = s^{\prime}};y_{1}^{k - 1}} \right)}{p\left( {{S_{k - 2} = s^{''}};y_{1}^{k - 2}} \right)} \cdot \frac{p\left( {{S_{k - 2} = s^{''}};{S_{k - 1} = s^{\prime}};{S_{k} = s};y_{1}^{k - 1}} \right)}{p\left( {{S_{k - 2} = s^{''}};{S_{k - 1} = s^{\prime}};y_{1}^{k - 2}} \right)} \cdot \frac{p\left( {{S_{k - 2} = s^{''}};{S_{k - 1} = s^{\prime}};{S_{k} = s};y_{1}^{K}} \right)}{p\left( {{S_{k - 2} = s^{''}};{S_{k - 1} = s^{\prime}};{S_{k} = s};y_{1}^{k - 2}} \right)}} = {{p\left( {{S_{k - 2} = s^{''}};y_{1}^{k - 2}} \right)} \cdot {p\left( {{S_{k - 1} = s^{\prime}};{\left. y_{k - 1} \middle| S_{k - 2} \right. = s^{''}};y_{1}^{k - 2}} \right)} \cdot {p\left( {{S_{k} = s};{\left. y_{k} \middle| S_{k - 2} \right. = s^{''}};{S_{k - 1} = s^{\prime}};y_{1}^{k - 1}} \right)} \cdot {{p\left( {{\left. y_{k + 1}^{K} \middle| S_{k - 2} \right. = s^{''}};{S_{k - 1} = s^{\prime}};{S_{k} = s};y_{1}^{k - 1}} \right)}.}}}} & (6)\end{matrix}$

[0021] A property of the Markov process is, if the current state S_(k)is known, events after time k do not depend on y₁ ^(k). Using thisMarkov process property, equation (6) may be expressed as given inequation (7):

σ^(k)(s″,s′,s)=p(S _(k−2) =s″; y ₁ ^(k−2))·p(S _(k−1) =s′; y _(k−1)=s′;|S _(k−2) =s″)·p(S _(k) =s; y _(k) |S _(k−1) =s′)·p(y _(k+1) ^(K) |S_(k) =s)  (7)

[0022] Using the definitions of probabilities given in equations (1)through (3), equation (7) may then be expressed as given in equation(8):

σ^(k)(s″,s′,s)=α_(s″) ^(k−2)γ_(s″,s′) ^(k−1)γ_(s′,s) ^(k)β_(s) ^(k)  (8)

[0023] From equation (8), the log-likelihood value as given in equation(5) may then be calculated with the relationship of equation (9):$\begin{matrix}{{{p\left( {{u_{k - 1} = {+ 1}};y_{1}^{K}} \right)} = {\sum\limits_{{({s^{''},s^{\prime},s})} \in S_{+}^{k - 1}}{p\left( {S_{k - 2};S_{k - 1};S_{k};y_{1}^{K}} \right)}}}{{p\left( {{u_{k - 1} = {- 1}};y_{1}^{K}} \right)} = {\sum\limits_{{({s^{''},s^{\prime},s})} \in S_{-}^{k - 1}}{p\left( {S_{k - 2};S_{k - 1};S_{k};y_{1}^{K}} \right)}}}} & (9)\end{matrix}$

[0024] where (s″,s′,s)εS₊ ^(k−1) (“ε” defined as “an element of”) is theset of state sequences which contain transition segments from S_(k−2)=s″to S_(k−1)=s′ generated by the input u_(k−1)=+1, and (s″,s′,s)εS⁻ ^(k−1)is the set of state sequences which contain transition segments fromS_(k−2)=s″ to S_(k−1)=s′ generated by the input u_(k−1)=−1.

[0025] Then, from equation (5), the log-likelihood values L for theinput u_(k−1) and u_(k) may be computed as in equations (10) and (11),respectively: $\begin{matrix}{{L\left( u_{k - 1} \right)} = {\log \left( \frac{\sum\limits_{s_{+}^{k - 1}}{\alpha_{s^{''}}^{k - 2}\gamma_{s^{''},s^{\prime}}^{k - 1}\gamma_{s^{\prime},s}^{k}\beta_{s}^{k}}}{\sum\limits_{s_{-}^{k - 1}}{\alpha_{s^{''}}^{k - 2}\gamma_{s^{''},s^{\prime}}^{k - 1}\gamma_{s^{\prime},s}^{k}\beta_{s}^{k}}} \right)}} & (10) \\{{L\left( u_{k} \right)} = {{\log \left( \frac{\sum\limits_{s_{+}^{k}}{\alpha_{s^{''}}^{k - 2}\gamma_{s^{\prime}}^{k - 1}\gamma_{s^{\prime},s}^{k}\beta_{s}^{k}}}{\sum\limits_{s_{-}^{k}}{\alpha_{s^{''}}^{k - 2}\gamma_{s^{''},s^{\prime}}^{k - 1}\gamma_{s^{\prime},s}^{k}\beta_{s}^{k}}} \right)}.}} & (11)\end{matrix}$

[0026] MAP algorithms of the prior art employ α_(s″) ^(k−2) and α_(s′)^(k−1) to compute L(u_(k−1)) and L(u_(k)), respectively. However, a MAPalgorithm in accordance with an exemplary embodiment of the presentinvention employing the relationships of equations (10) and (11) for N=2computes both the log-likelihood values L(u_(k−1)) and L(u_(k))with onlyα_(s″) ^(k−2). Thus, when storing values for α, only every other valueneeds to be stored since each value may be used to compute two differentlog-likelihood values.

[0027]FIG. 1 shows an exemplary method for generating log-likelihoodvalues in accordance with the present invention. At step 101, a set of αvalues are computed for the trellis with an APP value based on N≧2 timeintervals, such as in accordance with the expression of equation (8) forN=2. At step 102, certain values are deleted (e.g., decimation of theset of α values by N), and, thus, these values are not necessarilystored in memory. While the particular α values that are deleted may bespecified by a given design choice, preferred embodiments keeps valuesof α at regular positions within the set (e.g. every second value forN=2, every third value for N=3, etc.).

[0028] In step 103, β values are calculated, for example, as is done inaccordance with methods of the prior art. In step 104, the reduced setof α values stored in memory is retrieved from memory. In step 105, thefinal output value for the log-likelihood value is calculated from thevalues of β and the reduced set of α values. In step 105, an algorithm,as described with respect to equations (10) and (11), is applied thatallows for calculation of the final output value with the reduced set ofα values.

[0029] As an example, FIG. 2 shows an 8-state trellis (states 0-7) fromtime k−2 to time k. The number next to the state in the trellisidentifies the state's number. The total branch metric Γ₂ ^(k) fromstate 2 at time k−2 to state 0 at time k is γ_(2,4) ^(k−1)γ_(4,0) ^(k).Note that for the 2^(M) state trellis (M a positive integer), the pathbetween time k−N to time k is uniquely defined for N≦M. For N>M, thereexist multiple paths between two states.

[0030] By extending the above equations (6) and (8) for N previousstates, The APP value may be generalized as in equation (12):

p(S _(k−N) =s ^((N)) ; S _(k−N+1) =s ^((N−1)) ; . . . ; S _(k−1) =s′; S_(k) =s; y ₁ ^(K))=α_(s) _(^((N))) ^(k−N)Γ_(N) ^(k)β_(s) ^(k)  (12)

[0031] where the total branch metric Γ_(N) ^(k) is defined as Γ_(N)^(k)=γ_(s) _(^((N))) _(,s) _(^((N−1))) ^(k−N+1)γ_(s) _(^((N−1))) _(,s)_(^((N−2))) ^(k−N+2) . . . γ_(s′,s) ^(k).

[0032] Also, it follows that the log-likelihood values are computed asin equation (13) $\begin{matrix}{{{L\left( u_{k - i} \right)} = {{{\log \left( \frac{\sum\limits_{s_{+}^{k - i}}{\alpha_{s^{(N)}}^{k - N}\Gamma_{N}^{k}\beta_{s}^{k}}}{\sum\limits_{s_{-}^{k - i}}{\alpha_{s^{(N)}}^{k - N}\Gamma_{N}^{k}\beta_{s}^{k}}} \right)}\quad f\quad o\quad r\quad i} = 0}},1,{{\ldots \quad N} - 1.}} & (13)\end{matrix}$

[0033] Thus, this example shows that storing the α values for α_(s′)^(k−1),α_(s″) ^(k−2), . . . α_(s) _(^((N−1))) ^(k−N+1) is not necessarywhen computing the log-likelihood value L(u_(k−1)) for i=0,1, . . . ,N−1. Not storing these values reduces the memory size by N.

[0034]FIG. 3 shows a MAP processor 300 that may employ the exemplarymethod shown in FIG. 1. MAP processor 300 includes α calculator 301, βcalculator 302, update module 303, decimator 304, and decision device305. MAP processor 300 is coupled to memory 306. MAP processor 300receives input data for detection or decoding, and α calculator 301determines α values (forward trellis state probabilities). Oncecalculated, decimator 304 selects a subset of α values in accordancewith an exemplary embodiment of the present invention for storage inmemory 306. β calculator 302 determines β values (reverse trellis stateprobabilities). Update module 303 retrieves the subset of α values, βvalues, and previously stored branch metric values from memory 306.Using the retrieved values, Update module 303 calculates log-likelihoodvalues, such as by the method given in equation (13). Decision device305 makes decisions corresponding to a sequence of the input data basedon the log-likelihood values. Update module 303 then updates and storesthe branch metric values in memory 306 using the log-likelihood values.

[0035] The following pseudo-code may be employed for an exemplaryimplementation of a MAP algorithm calculating log-likelihood values inaccordance with the present invention

[0036]100 initialize α_(s) ⁰ and β_(s) ^(L) for s=0,1, . . . M−1

[0037]101 For k=1,2, . . . L

[0038]102 compute α_(s) ^(k) for s=0,1, . . . , M−1

[0039]103 if k=mod_(N)(k)=0, then

[0040]104 store α_(s) ^(k)

[0041]105 For k=L,L−1, . . . , 2

[0042]106 compute β_(s) ^(k−1) for s=0,1, . . . , M−1

[0043]107 set U_(k) ⁺=U_(k) ⁻=U_(k−1) ⁺=U_(k−1) ⁻= . . . =U_(k−N+1) ⁻=0

[0044]108 For all possible s1 and s2:

[0045]110 compute C=α_(s1) ^(k−N)Γ_(N) ^(k)β_(s2) ^(k) where Γ_(N) ^(k)is the total branch metric 111 between s1 and s2

[0046]112 For i=0,1, . . . , N−1

[0047]113 if the path between s1 and s2 contains a transition caused byu_(k−1)=+1

111 U _(k−1) ⁺ =U _(k−1) ⁺ +C

[0048]112 if the path between s1 and s2 contains a transition caused byu_(k−1)=−1

113 U _(k−1) ⁻ =U _(k−1) ⁻ +C

[0049]114${c\quad o\quad m\quad p\quad u\quad t\quad e\quad {L\left( u_{k - i} \right)}} = {\log \left( \frac{U_{k - i}^{+}}{U_{k - i}^{-}} \right)}$

[0050] While the exemplary embodiments of the present invention havebeen described with respect to methods implemented within a detector, aswould be apparent to one skilled in the art, various functions may beimplemented in the digital domain as processing steps in a softwareprogram, by digital logic, or in combination of both software andhardware. Such software may be employed in, for example, a digitalsignal processor, micro-controller or general-purpose computer. Suchhardware and software may be embodied within circuits implemented in anintegrated circuit.

[0051] The present invention can be embodied in the form of methods andapparatuses for practicing those methods. The present invention can alsobe embodied in the form of program code embodied in tangible media, suchas floppy diskettes, CD-ROMs, hard drives, or any other machine-readablestorage medium, wherein, when the program code is loaded into andexecuted by a machine, such as a computer, the machine becomes anapparatus for practicing the invention. The present invention can alsobe embodied in the form of program code, for example, whether stored ina storage medium, loaded into and/or executed by a machine, ortransmitted over some transmission medium, such as over electricalwiring or cabling, through fiber optics, or via electromagneticradiation, wherein, when the program code is loaded into and executed bya machine, such as a computer, the machine becomes an apparatus forpracticing the invention. When implemented on a general-purposeprocessor, the program code segments combine with the processor toprovide a unique device that operates analogously to specific logiccircuits.

[0052] It will be further understood that various changes in thedetails, materials, and arrangements of the parts which have beendescribed and illustrated in order to explain the nature of thisinvention may be made by those skilled in the art without departing fromthe principle and scope of the invention as expressed in the followingclaims.

What is claimed is:
 1. A method of generating probabilities to calculatelog-likelihood values corresponding to data in a maximum a posterioriprocessor, the method comprising the steps of: (a) generating a set of αvalues as forward probabilities of a trellis for a current state; and(b) deleting selected values of the set of α values based on an aposteriori probability (APP) value having at least two previous statesto provide a reduced set of α values corresponding to the data.
 2. Theinvention as recited in claim 1, wherein step (b) further includes thestep of storing the reduced set of α values in a memory.
 3. Theinvention as recited in claim 2, wherein, for step (a), the APP valuehas two previous states.
 4. The invention as recited in claim 1, furthercomprising the steps of: (c) generating a set of β values as reverseprobabilities of the trellis for the current state; and (d) calculatingthe log-likelihood values from the reduced set of α values and the setof β values based on the APP value.
 5. The invention as recited in claim4, wherein step (d) further includes the step of retrieving the reducedset of α values from the memory.
 6. The invention as recited in claim 4,wherein, for step (a), the APP value for input u_(k) at time k for aMarkov process state variable S_(k), a sequence y_(m)^(n)=(y_(m),y_(m+1), . . . y_(n)), N previous states, and data block oflength K is defined as: p(S _(k−N) =s ^((N)) ; S _(k−N+1) =s ^((N−1)) ;. . . ; S _(k−1) =s′; S _(k) =s; y ₁ ^(K))=α_(s) _(^((N))) ^(k−N)Γ_(N)^(k)β_(s) ^(k),where the total branch metric Γ_(N) ^(k) is defined asΓ_(N) ^(k)=γ_(s) _(^((N))) _(,s) _(^((N−1))) ^(k−N+1)γ_(s) _(^((N−1)))_(,s) _(^((N−2)) )^(k−N+2) . . . γ_(s′,s) ^(k), and: α_(s) ^(k) =p(S_(k) =s; y ₁ ^(k)),β_(s) ^(k) =p(y _(k+1) ^(K) |S _(k) =s), andγ_(s′,s)=p(S _(k) =s; y _(k) |S _(k−1) =s′).
 7. The invention as recited inclaim 6, wherein, for step (d), the log-likelihood value L(u_(k))forinput u_(k) is:${L\left( u_{k} \right)} = {{\log \left( \frac{\sum\limits_{s_{+}^{k}}{\alpha_{s^{''}}^{k - 2}\gamma_{s^{''},s^{\prime}}^{k - 1}\gamma_{s^{\prime},s}^{k}\beta_{s}^{k}}}{\sum\limits_{s_{-}^{k}}{\alpha_{s^{''}}^{k - 2}\gamma_{s^{''},s^{\prime}}^{k - 1}\gamma_{s^{\prime},s}^{k}\beta_{s}^{k}}} \right)}.}$


8. The invention as recited in claim 6, wherein, for step (a), the APPvalue has N=2 previous states
 9. The invention as recited in claim 1,wherein, for step (a), the APP value for input u_(k) at time k for aMarkov process state variable S_(k), a sequence y_(m)^(n)=(y_(m),y_(m+1), . . . y_(n)), N previous states, and data block oflength K is defined as: p(S _(k−N) =s ^((N)) ; S _(k−N+1) =s ^((N−1)); .. . ; S _(k−1) =s′; S _(k) =s; y ₁ ^(K))=α_(s) _(^((N))) ^(k−N)Γ_(N)^(k)β_(s) ^(k), where the total branch metric Γ_(N) ^(k) is defined asΓ_(N) ^(k)=γ_(s) _(^((N))) _(,s) _(^((N−1))) ^(k−N+1)γ_(s) _(^((N−1)))_(,s) _(^((N−2)) )^(k−N+2) . . . γ_(s′,s) ^(k), and: α_(s) ^(k) =p(S_(k) =s; y ₁ ^(k))β_(s) ^(k) =p(y _(k+1) ^(K) |S _(k) =s), andγ_(s′,s)=p(S _(k) =s; y _(k) |S _(k−1) =s′).
 10. The invention as recited inclaim 1, wherein the method is employed during a step of either maximuma posteriori (MAP) detection or MAP decoding of received samples. 11.The invention as recited in claim 1, wherein the method is implementedby a processor in an integrated circuit.
 12. Apparatus generatingprobabilities to calculate log-likelihood values corresponding to datain a maximum a posteriori processor, the method comprising the steps of:a first calculator that generates a set of α values as forwardprobabilities of a trellis for a current state; and a decimator thatdeletes selected values of the set of α values based on an a posterioriprobability (APP) value having at least two previous states to provide areduced set of α values corresponding to the data.
 13. The invention asrecited in claim 12, further comprising: a second calculator thatgenerates a set of β values as reverse probabilities of the trellis forthe current state; and an update module that calculates thelog-likelihood values from the reduced set of α values and the set of βvalues based on the APP value.
 14. The invention as recited in claim 12,further comprising a decision device applying a maximum a posteriorialgorithm to generate decisions for the data in the MAP processor. 15.The invention as recited in claim 12, wherein the apparatus is a circuitembodied in an integrated circuit.
 16. A computer-readable medium havingstored thereon a plurality of instructions, the plurality ofinstructions including instructions which, when executed by a processor,cause the processor to implement a method for generating log-likelihoodvalues for data in a detector, the method comprising the steps of: (a)generating a set of α values as forward probabilities of a trellis for acurrent state; and (b) deleting selected values of the set of α valuesbased on an a posteriori probability (APP) value having at least twoprevious states to provide a reduced set of α values corresponding tothe data.
 17. The invention as recited in claim 16, further comprisingthe steps of: (c) generating a set of β values for the current state;and (d) calculating the log-likelihood values from the reduced set of αvalues and the set of set of β values based on the APP value.